The present invention generally relates to networked hypertext data processing systems and, more particularly, to managing interactive data in the World Wide Web.
Within a few years of being introduced on the. Internet, the World Wide Web (WWW) has quickly established itself as an important way to access information on the Internet. The World Wide Web is essentially a collection of hypertext documents or Web pages that exists across networks world-wide such as the Internet. The attraction of these Web pages is that they can carry multimedia information such as text, graphics, voice and video and that a Web page can contain links to call up other Web page anywhere on the network. The same structure can also be set up for a smaller domain such as an intranet defining one or more interlinked local area networks (LAN).
FIG. 1 is a schematic block diagram illustrating a typical operating environment of a hypertext data processing system. A collection of Web pages resides on a server computer which is connected to a network. A client computer on the network uses a Web browser program to request and view a Web page. A Web server program running on the server manages the Web pages and processes the client request to return the appropriate Web page to the client.
A well established set of protocol embodied in the form of Hypertext Transfer Protocol (HTTP) is used to define communication between server and client.
FIG. 2 shows schematically the basic elements on a Web page. A Web page is written in Hypertext Markup Language (HTML) with is essentially ASCII text consisting of pure text marked up by a set of HTML tags. By convention, ASCII strings enclosed in angular brackets are to be interpreted as HTML tags. HTML defines a collection of such tags which can be embedded in a Web page to give instruction to the browser as to how to handle and display the Web page. Examples of HTML tags schematically shown in FIG. 2 are tags such as &lt;BODY&gt;, &lt;/BODY&gt; and &lt;a HREF=URL&gt;. Each Web page is uniquely identified by its Uniform Resource Locator (URL) which is like a document call number and is the address of the document on the network. The pair of &lt;BODY&gt;, &lt;/BODY&gt; tags is used to delimit a body of text to let the browser identify what constitutes the body of the Web page. An embedded &lt;a HREF=URL&gt; tag is a hyperlink that allows a user to send a URL to the server to call up another Web page.
In a general sense the URL is a Web address that points to a unique location in a targeted server on the World Wide Web. In most applications, the address will lead to another Web page although it can also lead to initiate other actions by the server. For example, when an URL request is made, it is first routed to the targeted server. Then the server determines the nature of the URL which could be a request for another Web page, or a request for directory information on the server, or a request to execute a program on the server. Included in the HTTP protocol is a procedure called the Common Gateway Interface (CGI) for executing programs on a Web server (see FIG. 1).
While the World Wide Web was originally conceived to be mainly an application for clients to access information on the Internet, its wide acceptance and adoption has prompted further enhancements. With the advent of HTML version 2, input features have been added that allows a client to modify the fields of a database residing on a Web server. One application for this capability is a Web search engine which stores an index of Web pages on a database, such as the transactional database shown in FIG. 1. A client can input keywords or other search criteria to the server to run a CGI program. The program queries the database and returns a Web page listing the search results.
Another application of interest is on-line transactions such as an on-line retailing system on the World Wide Web. In such a system, a merchandise catalog for the variously items to be purchased may be listed on a number of Web pages ("catalog pages"). The user visits the catalog pages page-by-page and makes a purchase by activating a link (e.g. button) associated with the item to be purchased. This action transmits the user selection to the server to update a purchase ordering database. As more items are being selected, the purchase ordering database will similarly be modified. At anytime, the user can request to review a report of the current state of his or her purchase order. This is typically implemented by activating a linked button in the current Web page. Upon such a request, the server invokes a CGI program that queries the database and generates a report, such as a running invoice, and returns it as a newly created Web page ("invoice page") to the user's screen. This system inherits the basic operating mode of the HTML Web system, namely, the Web pages are browsed page-by-page. In an interactive applications, such as this one, the users has to alternate between the catalog pages and the invoice page to keep track of the current state of the purchase.